<?php
add_action('admin_menu', 'menu_agenda');

function menu_agenda() {
    add_menu_page('Agenda', 'Agenda', 'edit_posts', 'ageda', 'mostrar_agenda');
}

// registrar scripts y css
add_action('admin_enqueue_scripts', 'registrar_agenda_js', 10, 1);

function registrar_agenda_js() {
    wp_enqueue_style('formularios-css', get_template_directory_uri() . '/css/formularios.css');

    wp_enqueue_script('jquery-ui-datepicker');
    wp_enqueue_script('jquery-ui-datepicker-es', get_template_directory_uri() . "/js/jquery.ui.datepicker-es.js");
    wp_enqueue_style('jquery-ui-datepicker', get_template_directory_uri() . "/css/datepicker.css");


    wp_enqueue_script('agenda-js', get_template_directory_uri() . '/js/agenda.js');
    wp_localize_script('agenda-js', 'ajax_object', array('ajax_url' => admin_url('admin-ajax.php')));
}

add_action('wp_ajax_guardar_agenda', 'guardar_agenda_ajax');

function guardar_agenda_ajax() {
    global $wpdb;

//    SI TODO ES CORRECTO GUARDAMOS LOS CAMPOS
    if ($_POST['fecha']) {
        $fecha = date('Y-m-d', strtotime($_POST['fecha']));
    }

    $agenda = array(
        'nombre_evento' => $_POST['nombre_evento'],
        'fecha' => $fecha,
        'hora' => $_POST['hora'],
        'direccion' => $_POST['direccion'],
        'ciudad' => $_POST['ciudad'],
        'link' => $_POST['link']
    );

    if ($_POST['id_agenda'] != '') {//si ID != vacio significa que me llega un id por post para realizar una modificación
        $wpdb->update(agenda, $agenda, array('id_agenda' => $_POST['id_agenda']));
    } else {
        $wpdb->insert(agenda, $agenda);
    }

    mostrar_tabla_agenda();

    die();
}

add_action('wp_ajax_eliminar_agenda', 'eliminar_agenda_ajax');

function eliminar_agenda_ajax() {
    global $wpdb;

    $wpdb->query("DELETE FROM agenda WHERE id_agenda = " . $_POST['id_agenda']);

    mostrar_tabla_agenda();

    die();
}

//FUNCION QUE SE EJECUTA AL INGRESAR POR PRIMERA VEZ AL FORMULARIO
function mostrar_agenda() {
    ?>

    <div style="position: relative;">
        <div class="wrap" style="box-shadow: 0 0 2px 0 black; display: inline-block; margin: 10px; padding: 10px 80px 40px;">
            <?php mostrar_fomulario_agenda(); ?>

            <div class="listado-agenda">
                <div class = "icon32 icon32-bws" id = "icon-options-general"></div>
                <h2>Agenda</h2>
                <br/>
                <br/>
                <div class="lista" >
                    <?php mostrar_tabla_agenda(); ?>
                </div>

                <br/>
                <label class="agregar button-primary">+ Agregar</label>
                <br/><br/>
            </div>
        </div>
    </div>
    <?php
}

function mostrar_fomulario_agenda() {
    ?>
    <div id = "popup"> 
        <div class="close"></div>
        <div id="alta-agenda"> 

            <div class="icon32" id="icon-options-general"></div>
            <h2>Agenda</h2>

            <br/>
            <form method="post" action="admin.php?page=agenda">
                <table>
                    <tr>
                        <td>ID:</td><td><input class="id_agenda" type="text" size="6" disabled style="text-align: center; background-color: #F2F2F2;"/></td>
                    </tr>
                    <tr>
                        <td>Nombre del Evento:</td><td><input class="nombre_evento" type="text" size="80"/></td>
                    </tr>
                    <tr>
                        <td>Fecha:</td><td><input class="fecha" type="text" size="30"/></td>
                    </tr>
                    <tr>
                        <td>Hora:</td><td><input class="hora" type="text" size="30" maxlength="45"/></td>
                    </tr>
                    <tr>
                        <td>Direccion:</td><td><input class="direccion" type="text" size="80"/></td>
                    </tr>
                    <tr>
                        <td>Ciudad:</td><td><input class="ciudad" type="text" size="80"/></td>
                    </tr>
                    <tr>
                        <td>Link del post:</td><td><input class="link" type="text" size="80"/></td>
                    </tr>
                </table>

                <p class="submit">
                    <input type="button" name="guardar" class="guardar button-primary" value="Guardar" />
                    <input type="button" name="cancelar" class="cancelar button-primary" value="Cancelar" />
                </p>
            </form>


        </div>
    </div>
    <div id="backgroundPopup"></div><?php
}

function mostrar_tabla_agenda() {
    global $wpdb;
//$agenda = get_option('agenda');

    $agenda = $wpdb->get_results("SELECT * FROM agenda WHERE fecha >= CURDATE() ORDER BY fecha DESC");
    ?>


    <table class="tabla-agenda">
        <tr>
            <th style="width: 30px; text-align: center;">Nº</th>
            <th style="width: 300px;">Nombre Evento</th>
            <th style="width: 100px;">Fecha</th>
            <th style="width: 100px;">Hora</th>
            <th style="width: 300px;">Dirección</th>
            <th style="width: 200px;">Ciudad</th>
            <th style="width: 200px;">Link</th>
        </tr>


        <?php
        if ($agenda) {

            $i = 1;
            foreach ($agenda as $evento) {
                ?>
                <tr>
                    <td class="t-nro" style="text-align: center;"><?php echo $i; ?></td>
                    <td class="t-nombre_evento"><?php echo $evento->nombre_evento; ?></td>
                    <td class="t-fecha"><?php echo date('d-m-Y', strtotime($evento->fecha)); ?></td>
                    <td class="t-hora"><?php echo $evento->hora; ?></td>
                    <td class="t-direccion"><?php echo $evento->direccion; ?></td>
                    <td class="t-ciudad"><?php echo $evento->ciudad; ?></td>
                    <td class="t-link"><?php echo $evento->link; ?></span></td>
                    <td><label class="modificar" ></label><input id="M-<?php echo $evento->id_agenda; ?>" type="hidden" value="<?php echo $evento->id_agenda; ?>" style="display: none;"/></td>
                    <td><label class="eliminar" ></label><input id="E-<?php echo $evento->id_agenda; ?>" type="hidden" value="<?php echo $evento->id_agenda; ?>" style="display: none;"/></td>
                </tr>

                <?php
                $i++;
            }

            $vencidos = $wpdb->get_results("SELECT * FROM agenda WHERE fecha < CURDATE() ORDER BY fecha DESC");
            foreach ($vencidos as $vencido) {
                ?>
                <tr style="background-color: red;">
                    <td class="t-nro" style="text-align: center;"><?php echo $i; ?></td>
                    <td class="t-nombre_evento"><?php echo $vencido->nombre_evento; ?></td>
                    <td class="t-fecha"><?php echo date('d-m-Y', strtotime($vencido->fecha)); ?></td>
                    <td class="t-hora"><?php echo $vencido->hora; ?></td>
                    <td class="t-direccion"><?php echo $vencido->direccion; ?></td>
                    <td class="t-ciudad"><?php echo $vencido->ciudad; ?></td>
                    <td class="t-link"><?php echo $vencido->link; ?></span></td>
                    <td><label class="modificar" ></label><input id="M-<?php echo $vencido->id_agenda; ?>" type="hidden" value="<?php echo $vencido->id_agenda; ?>" style="display: none;"/></td>
                    <td><label class="eliminar" ></label><input id="E-<?php echo $vencido->id_agenda; ?>" type="hidden" value="<?php echo $vencido->id_agenda; ?>" style="display: none;"/></td>
                </tr>

                <?php
            }
            ?> 
            <div class="cargando" style="display: none; z-index: 999;"><img src="<?php bloginfo('template_url'); ?>/images/loader.gif" alt="mensaje loader"/></div>
        </table>


        <script type="text/javascript">
            jQuery("label.eliminar").click(function() {
                if (confirm('¿Esta seguro que desea eliminar este Evento?')) {
                    //AJAX
                    var data = {//estos son los datos que paso por $_POST
                        action: 'eliminar_agenda',
                        id_agenda: jQuery(this).parent().find('input').val(),
                    };

                    jQuery.ajax({
                        type: "POST",
                        url: ajax_object.ajax_url,
                        data: data,
                        beforeSend: function() {
                            cargando();
                        },
                        success: function(datos) {
                            //                alert(datos);
                            jQuery('.lista').html(datos);
                        },
                        timeout: 4000,
                        error: function() {
                            alert('No se ha podido establecer la conexión con el servidor.');
                            jQuery('.cargando').fadeOut();

                        }
                    });
                }
            });

            jQuery("label.modificar").click(function() {
                loadPopup(); // function show popup 

                jQuery('.id_agenda').val(jQuery(this).parent().find('input').val());
                jQuery('.nombre_evento').val(jQuery(this).parent().parent().find('.t-nombre_evento').text());
                jQuery('.fecha').val(jQuery(this).parent().parent().find('.t-fecha').text());
                jQuery('.hora').val(jQuery(this).parent().parent().find('.t-hora').text());
                jQuery('.direccion').val(jQuery(this).parent().parent().find('.t-direccion').text());
                jQuery('.ciudad').val(jQuery(this).parent().parent().find('.t-ciudad').text());
                jQuery('.link').val(jQuery(this).parent().parent().find('.t-link').text());

            });

            function loadPopup() {
                jQuery("#popup").fadeIn(0500); // fadein popup div
                jQuery("#backgroundPopup").fadeIn(0001);

            }

            function cargando() {

                var w, h; //varibles width y height
                w = jQuery('.tabla-agenda').width();
                h = jQuery('.tabla-agenda').height() - 21;
                //            alert(w+' || '+h);
                jQuery('.cargando').css({width: w, height: h, 'line-height': (h + 9) + 'px'});
                jQuery('.cargando').fadeIn();
            }


        </script>

    <?php } else { ?>
        <div class="cargando" style="display: none; z-index: 999; top: 160px;"><img src="<?php bloginfo('template_url'); ?>/images/loader.gif" alt="mensaje loader"/></div>
        </table>

        <p>No hay datos para mostrar.</p>
        <?php
    }
}
?>

